# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=gradm
pkgver=3.1.201607172312
_ver=${pkgver/.20/-20}
pkgrel=0
pkgdesc="administrative utility for grsecurity kernels"
url="http://www.grsecurity.org/"
arch="all"
license="GPL"
makedepends="bison flex-dev linux-headers"
install=""
subpackages="$pkgname-doc"
source="https://dev.gentoo.org/~blueness/hardened-sources/gradm/gradm-$_ver.tar.gz
	policy
	base.policyd
	grsec-rbac.initd"

_builddir="$srcdir/gradm"
prepare() {
	local i
	cd "$_builddir"
	for i in $source; do
		case $i in
		*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
		esac
	done
}

build() {
	cd "$_builddir"
	make LIBS="" || return 1
}

package() {
	cd "$_builddir"
	make LIBS="" INSTALL=install DESTDIR="$pkgdir" install || return 1

	# we don't want the grsecurity-recommended policy as it's old
	# and non-modular.
	rm "$pkgdir"/etc/grsec/policy

	# install the base policy file which pulls in everything else.
	install -m644 "$srcdir"/policy "$pkgdir"/etc/grsec/policy

	# prepare and install base policy to /var/lib/grsec/policy.d
	install -d -D "$pkgdir"/var/lib/grsec/policy.d
	install -m644 "$srcdir"/base.policyd "$pkgdir"/var/lib/grsec/policy.d/00-base

	# install grsec-rbac into initd
	install -d -D "$pkgdir"/etc/init.d
	install -m755 "$srcdir"/grsec-rbac.initd "$pkgdir"/etc/init.d/grsec-rbac
}

sha512sums="61f14038ee555b99e4d0096dd01697d8adba45e057ffceadb44eafbdfba807b53030684c5073d169c005902acfa6baa673975ed4ab00ad035941c209f8f1d2e2  gradm-3.1-201607172312.tar.gz
0cd4a85d40815813129c669400a9e2fb4b5258c1d20dae8075e3f3123c3ff1ece9dc3a16209ef8d6cb968477ab687926923bcdca0b78fb3beff105a699284a01  policy
8b6a3a6cf550119dbf162d6dffcf5acef30cae6b070a028d5d5697bf20ce5e0d7e1900992f7c88c60b2eb5e5118561753e8111440a6032922780620ac25ee7cb  base.policyd
7f53992506edcedfd97b5b3581da80ffbc1a1a79ad3c5e7b7982f9d41387bea34077045d36595a631a87e96a25819b3c569ca94c344a0581ead8c5e5dbd32c1d  grsec-rbac.initd"
